package com.example.gugongticket.service;

import com.example.gugongticket.entity.Orders;
import com.example.gugongticket.entity.SalesStatistics;
import com.example.gugongticket.entity.Ticket;
import com.example.gugongticket.entity.User;

import java.util.Date;
import java.util.List;

public interface TicketSalesService {
    // 用户注册
    void registerUser(String username, String password, String email, String phone);

    // 用户登录
//    boolean login(String username, String password);
   int login(String username, String password);

    // 订大门票
    void bookGateTickets(int userId, int quantity, double totalPrice, Date date);

    // 订馆中馆门票
    void bookExhibitionTickets(int userId, Ticket.TicketType type, int quantity, double totalPrice, Date date);

    // 退票
    void refundTicket(int OrdersId);

    // 查询订票记录
    List<Orders> getBookingRecords(int userId);

    // 查询每日余票
    int getDailyRemainingTickets(Ticket.TicketType type);

    // 查询游客信息
    List<User> findUsersByOptions(String option, String value);

    // 查询每日售票数据
    List<SalesStatistics> getDailySalesStatistics(Date date);

    // 查询每月售票数据
    List<SalesStatistics> getMonthlySalesStatistics(Date startDate, Date endDate);

    // 查询每年售票数据
    List<SalesStatistics> getYearlySalesStatistics(int year);

    // 统计营业数据
    double getTotalSales();

    // 修改门票数据
    void insertDailyTicketData(Ticket.TicketType type, int quantity);
}